/**
 * 
 */
package pojo;

import java.io.Serializable;
import java.util.ArrayList;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;

import dao.util.ProduitsDAO;

/**
 * @author IBD JMDSD
 *
 */
@ManagedBean
@SessionScoped
public class Produits implements Serializable{

	private String nomProduitAAjoute;
	private int quantiteProduitAAjoute;
	private float prixProduitAAjoute;
	
	ArrayList<Produit> listProduits;
	/**
	 * 
	 */
	public Produits() {
		listProduits = new ArrayList<Produit>();
	}
	
	/**
	 * @param Liste de produit
	 */
	public Produits(ArrayList<Produit> listProduits) {
		this.listProduits = listProduits;
	}

	/**
	 * @return the listProduits
	 */
	public ArrayList<Produit> getListProduits() {
		ProduitsDAO pDAO = new ProduitsDAO(); 
		listProduits = (ArrayList<Produit>)pDAO.findAll();
		return listProduits;
	}
	
	/**
	 * 
	 */
	public void ajouterProduitDB(){
		System.out.println("====================================");
		System.out.println(nomProduitAAjoute);
		Produit obj = new Produit(nomProduitAAjoute, prixProduitAAjoute, quantiteProduitAAjoute);
		ProduitsDAO pDAO = new ProduitsDAO(); 
		pDAO.create(obj);
	}
	
	/**
	 * @param idProduit 
	 * @param quantite_disponible 
	 * 
	 */
	public void modifierQuantiteProduitDB(int idProduit, int quantite_disponible ){
		Produit obj = new Produit();
		ProduitsDAO pDAO = new ProduitsDAO(); 
		obj = pDAO.find(idProduit);
		obj.setQuantite_disponible(obj.getQuantite_disponible() + quantite_disponible);
		pDAO.update(obj);
	}

	/**
	 * @return the nomProduitAAjoute
	 */
	public String getNomProduitAAjoute() {
		return nomProduitAAjoute;
	}

	/**
	 * @param nomProduitAAjoute the nomProduitAAjoute to set
	 */
	public void setNomProduitAAjoute(String nomProduitAAjoute) {
		this.nomProduitAAjoute = nomProduitAAjoute;
	}

	/**
	 * @return the quantiteProduitAAjoute
	 */
	public int getQuantiteProduitAAjoute() {
		return quantiteProduitAAjoute;
	}

	/**
	 * @param quantiteProduitAAjoute the quantiteProduitAAjoute to set
	 */
	public void setQuantiteProduitAAjoute(int quantiteProduitAAjoute) {
		this.quantiteProduitAAjoute = quantiteProduitAAjoute;
	}

	/**
	 * @return the prixProduitAAjoute
	 */
	public float getPrixProduitAAjoute() {
		return prixProduitAAjoute;
	}

	/**
	 * @param prixProduitAAjoute the prixProduitAAjoute to set
	 */
	public void setPrixProduitAAjoute(float prixProduitAAjoute) {
		this.prixProduitAAjoute = prixProduitAAjoute;
	}
	
}
